package cn.iocoder.yudao.module.written.exam.dal.dataobject.llm;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 大模型消息记录 DO
 *
 * @author 芋道源码
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LlmMessageDO implements Serializable {

    /**
     * 消息ID（主键）
     */
    private String id;

    /**
     * 会话ID
     */
    private String conversationId;

    /**
     * 消息类型：user-用户消息，assistant-助手消息
     */
    private String messageType;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 关联文件ID列表（JSON格式）
     */
    private String fileIds;

    /**
     * 任务ID
     */
    private String taskId;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 消息状态：0-处理中，1-成功，2-失败
     */
    private Integer status;

    /**
     * 错误信息
     */
    private String errorMessage;

    /**
     * 响应时长（毫秒）
     */
    private Long responseTime;

    /**
     * Token消耗数量
     */
    private Integer tokenCount;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 租户ID
     */
    private Long tenantId;

} 